home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 3
/
Cream of the Crop 3.iso
/
comm
/
ace186b.zip
/
MINIHOST.SCR
< prev
next >
Wrap
Text File
|
1994-04-07
|
12KB
|
355 lines
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; -- Mini Host Mode Script for AceComm v1.86 --
;;
;; Note: Labels are CaSe sensitive
;; :@@Start will not be found if accessed as <goto>@@start
;; => S <=
;; Labels begin with ':' character, and start at the beginning
;; of a line
;; Each label must be a unique character string
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Back up here after caller
;
;;;;;;;;;;
:@@Start
;;;;;;;;;;
<HostEcho>OFF <SendStr>ATE0^M ; We do not want the modem to echo
; as AceComm handles this when we turn
; <Host_Echo>ON
<AutoAnswer>On
<LocalKeys>Off
<SetDTR>Off <Delay>1 <SetDTR>On ; This will hang up most modems
<SetLCtrl>8n1 ; new macro for 1.85
<Delay>2 ; This will help wait for modem response
; strings to clear
<DispText>TellAutoAnswer ; Display text defined in Data Area
; %P (port), %B (connect speed)
<DispStr>Port %P Setup for %B^M^JWaiting for caller^M^J
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Top of wait for caller loop
;
;;;;;;;;;;
:@@Wait
;;;;;;;;;;
<DispStr>^M[CURTIME]^M
<GetDCD> <if>1 <goto>@@DCDLogIn ; Here is where we detect a caller
<GetKey>5 <if>L <goto>@@LogIn ; Allow local keyboard login
<if>C <DOSShell_>
<if>ALT+J <DOSShell_>
<if>R <RunProg>list.com
<if>E <goto>@@END ; Provide a clean exit
<goto>@@Wait ; 'Wait' is a case sensitive label...
;
; Here if carrier detected
;
:@@DCDLogIn
;
; Clear screen, Send ansi video request, Display banner
;
<Var0>0 ; See if we can set this to 1 with
; our ansi video detection scheme.
<Timer0>3 ; Init Timer0 and set 3 second timeout
<RawCapture>On ; Allow all caller's input in wait buffer
; ESC[6n is video request (detect ansi)
<SendStr>^L^[[6n^MMini Host Script for AceComm v1.86^M
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Loop here for 3 second maximum waiting for answer to Ansi detect sequence
;
:@@DetectAnsi
<CheckMdm> <if>1 <goto>@@AnsiDetected ; Remote will answer with
<Timer0> <if>1 <goto>@@DetectAnsi ; ESC[n;nR if ANSI capable
<RawCapture>Off
<HostEcho>ON ; HostEcho translates CR
; into CR,LF pair
<DispStr>^M^JAnsi video request un-answered ; Ansi video request
<goto>@@Welcome
:@@AnsiDetected
<Var0>1
<RawCapture>Off
<HostEcho>ON ; HostEcho translated CR into CR,LF pair
<SendStr> ^M^JAnsi video detected!
:@@Welcome
<Var0> <if>1 <DispStr>^M^J[Whi]Connected at [Blink][Bold][Red]%C[AttrOff]
<Var0> <if>0 <DispStr>^M^JConnected at %C
;
; Caller names are pre registered into an ascii comment file "USERLIST.LST"
; Sample Line: Michael Phelps,acecomm,9
; where "acecomm" is the password
;
;;;;;;;;;;;
:@@LogIn
;;;;;;;;;;;
<Var0> <if>1 <DispStr>[Whi]
<DispStr> ^M^JEnter your first and last name:
<GetStr>26 <FindUser> <if>1 <goto>@@GetPwd
<DispStr>^M^J%FN not found!
<DispStr> ^M^JEnter your first and last name:
<GetStr>26 <FindUser> <if>1 <goto>@@GetPwd
<DispStr>^M^J%FN not found!
<DispStr> ^M^JEnter your first and last name:
<GetStr>26 <FindUser> <if>1 <goto>@@GetPwd
<DispStr>^L^M^JYour name has not been registered in the user file, you may
<DispStr>^M^Joptionaly leave a short not for the SysOp, pleas include your
<DispStr>^M^Jfirst and last name along with a password.
<DispStr>^M^J^M^JWould you like to leave a note? (Y)es/(N)o
:@@1
<GetKey>60
<if>Y <goto>@@LogOffComment
<if>N <goto>@@OFF
<Goto>@@1
:@@GetPwd
<DispStr> ^M^JEnter password:
<GetStr>26 <UserPwd> <if>1 <goto>@@MainMenu
<DispStr> ^M^JEnter password:
<GetStr>26 <UserPwd> <if>1 <goto>@@MainMenu
<DispStr> ^M^JEnter password:
<GetStr>26 <UserPwd> <if>0 <goto>@@OFF
<goto>@@MainMenu
:@@LogOffComment
<HostEcho>ON ; This needs be on for message, even local
<GetMsg> <Goto>@@OFF
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Top of main menu loop
;
:@@MainMenu
<DispStr>^L
<Var0> <if>1 <DispStr>[Bblu][Whi][Bold][Cle]
<DispStr> -- AceComm Mini Host Script for AceComm v1.86 --
<Var0> <if>1 <DispStr>[AttrOff]
<DispStr>^M^J^M^J
<Var0> <if>1 <DispText>AnsiMainMenu
<Var0> <if>0 <DispText>MainMenu
:@@MainMenuKey
<GetKey>60 ; <GetKey> times out every n seconds
<if>1 <goto>@@BBS ; so if the caller drops carrier, we
<if>C <goto>@@Comment ; can fall through to the carrier check
<if>Y <goto>@@YourMail ; below. Default timeout is 60 if param.
<if>R <goto>@@ReadMail
<if>F <goto>@@Files
<if>G <goto>@@OFF
<if>^M <goto>@@MainMenu ; ^M for <CR>
; Note: any invalid key press while off line,
; results in '<goto>'@@Start
<GetDCD> <if>0 <goto>@@NoDCD ; Detect if caller hung up
<goto>@@MainMenuKey ; Wait for a key press we can process
:@@BBS
<ChgDir>BBS <RunProg>BBS %P %C <ChgDir>[DIR_START]
<goto>@@MainMenu
:@@Comment
<HostEcho>ON ; This needs be on for message, even local
<GetMsg> <Goto>@@MainMenu
:@@YourMail
<HostEcho>ON ; This needs be on for message, even local
<YourMsg> <Goto>@@MainMenu
:@@ReadMail
<HostEcho>ON ; This needs be on for message, even local
<ReadMsg> <Goto>@@MainMenu
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Files Menu
;
:@@Files
<DispStr>^M^L^M
<Var0> <if>1 <DispStr>[BWhi][Blu]
<DispStr>^M^J ┌────────────────────────────────┐
<DispStr>^M^J │ (Z)modem AceComm version 1.86 │
<DispStr>^M^J │ (D)ownload file │
<DispStr>^M^J │ (U)load file │
<DispStr>^M^J │ (L)ist file titles │
<DispStr>^M^J │ (R)aw directory list │
<DispStr>^M^J │ (M)ain menu │
<DispStr>^M^J │ (G)ood bye │
<DispStr>^M^J └────────────────────────────────┘
<Var0> <if>1 <DispStr>[AttrOff]
<DispStr>^M^J^M^JSelect:
:@@FilesKey
<GetKey>60
<if>Z <goto>@@DownloadAceComm
<if>D <goto>@@DownloadFile
<if>U <goto>@@UploadFile
<if>L <goto>@@ListFiles
<if>R <goto>@@RawDir
<if>M <goto>@@MainMenu
<if>G <goto>@@OFF
<if>^M <goto>@@Files
<GetDCD> <if>0 <goto>@@NoDCD ; Detect if caller hung up
<goto>@@FilesKey
:@@DownloadAceComm
<SendZmo@>@ACECOMM.LST
<goto>@@Files
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Provide Download Options
;
:@@DownloadFile
<ChgDir>[DIR_DNLDS] ; So files displayed with
; <DirList>[DIR_DNLDS]\*.* can be found
<DispStr> ^M^JEnter filename: <GetStr>15 <DispStr>^M
:@@ChooseDnProtocol
<DispStr>^M^JZ)modem
<DispStr>^M^JY)modem / Ymodem G
<DispStr>^M^JX)modem
<GetKey>60
<if>Z <goto>@@ZmodemSend
<if>Y <goto>@@YmodemSend
<if>X <goto>@@XmodemSend
<if>^M <goto>@@RetFiles
<GetDCD> <if>0 <goto>@@NoDCD ; Detect if caller hung up
<goto>@@ChooseDnProtocol
:@@ZmodemSend
<SendZmo>%FN
<ChgDir>[DIR_START] <goto>@@Files
:@@YmodemSend
<SendYmo1K>%FN
:@@RetFiles
<ChgDir>[DIR_START] <goto>@@Files
:@@XmodemSend
<SendXmo>%FN
<ChgDir>[DIR_START] <goto>@@Files
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Provide Upload Options
;
:@@UploadFile
:@@ChooseUpProtocol
<DispStr>^M^JZ)modem
<DispStr>^M^JG)Ymodem G
<DispStr>^M^JY)modem
<DispStr>^M^JX)modem
<GetKey>60
<if>Z <goto>@@ZmodemRecv
<if>G <goto>@@YmodemGRecv
<if>Y <goto>@@YmodemRecv
<if>X <goto>@@XmodemRecv
<if>^M <goto>@@Files ; <CR> alone aborts
<GetDCD> <if>0 <goto>@@NoDCD ; Detect if caller hung up
<goto>@@ChooseUpProtocol
:@@ZmodemRecv
<DispStr>^M^JBegin Zmodem Upload^M
<RecvZmo>
<goto>@@Files
:@@YmodemGRecv
<DispStr>^M^JBegin Ymodem G Upload^M
<RecvYmoG> ; Note: the sending Ymodem sends
<goto>@@Files ; filename in the first data block
:@@YmodemRecv
<DispStr>^M^JBegin Ymodem Upload^M
<RecvYmo1k>
<goto>@@Files
:@@XmodemRecv
<DispStr> ^M^JEnter filename: <GetStr>15 <DispStr>^M
<RecvXmo>%FN
<goto>@@Files
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Display ready made files list to caller
;
:@@ListFiles
<SendAscii>files.lst
<DispStr>^M^JPress CR
<GetKey>60
<goto>@@Files
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Display directory to caller
;
:@@RawDir
<DispStr>^M^J
<DirList>[DIR_DNLDS]\*.*
<DispStr>^M^JPress CR
<GetKey>60
<goto>@@Files
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Here when caller selects G)o option
;
:@@NoDCD
<DispStr>^M^JCarrier not detected, Restarting script!
<DispStr>^M^JLocal mode, you can navigate the script by making correct
<DispStr>^M^Jkey press for the menu options.
:@@OFF
<DispStr>^M^L^MGood bye [USR_NAM]!
<DispStr>^M^JYour on line time [DCDTIME]^M^J
<MdmHangUp>
AutoAnswer>OFF ; Need this to recycle properly
<Delay>2 ; This will help wait for modem response
; strings to clear
<goto>@@Start
;
; Here when local keyboard E)nd option is selected
;
:@@END
<AutoAnswer>OFF
<ClrWin>
<EndS>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
{-DATA_AREA-}
{-TEXT_START-}TellAutoAnswer
-- AceComm Mini Host Script for AceComm v1.86 --
AceComm was first release on May 15 of 1993. Since then the
script/macro language has evolved slowly. This is a very simple script
allowing pre registered log in. The macro language will continue to
evolve making possible a more elaborate host script. For a powerful
Host mode, take a look at the AutoAnswer setup area. People are using
AceComm as a front-end, and calling their favorite BBS software from the
AutoAnswer macros. Sample setups for external BBS software are included
in the manual.
┌──────────────────┐
│ L)ocal log in │
│ C)ommand Shell │
│ R)un LIST.COM │
│ E)nd script │
└──────────────────┘
{-TEXT_END-}
{-TEXT_START-}AnsiMainMenu
┌─────────────────────┐
│ 1) Through to BBS │
│ 2) Download (*.REP) │
│ 3) Uplopad (*.QWK) │
│ C)omment to SysOp │
│ Y)our mail │
│ R)ead all messages │
│ F)iles │
│ G)o (hang up) │
└─────────────────────┘
Enter Choice: {-TEXT_END-}
{-TEXT_START-}MainMenu
┌─────────────────────┐
│ 1) Through to BBS │
│ 2) Download (*.REP) │
│ 3) Uplopad (*.QWK) │
│ C)omment to SysOp │
│ Y)our mail │
│ R)ead all messages │
│ F)iles │
│ G)o (hang up) │
└─────────────────────┘
Enter Choice: {-TEXT_END-}